package com.naiterui.ehp.bs.recommend.service;

import com.naiterui.common.repository.page.PageParamVO;
import com.naiterui.common.repository.page.PageVO;
import com.naiterui.ehp.bp.support.exception.BusinessException;
import com.naiterui.ehp.bs.recommend.bean.MedicationRequire;
import com.naiterui.ehp.bs.recommend.vo.require.DrRequireVO;

public interface IMedicationRequireService {

    /**
     * 医生端求药列表
     * @return
     * @throws BusinessException
     */
    PageVO<DrRequireVO> getDrRequireList(Long doctorId, Integer status, PageParamVO pageParamVO) throws BusinessException;

    /**
     * 暂停用药
     * @param requireId
     * @throws BusinessException
     */
    void requireSuspend(Long requireId, String remark) throws BusinessException;

    /**
     * 处理求药申请
     * @param requireId
     * @throws BusinessException
     */
    MedicationRequire handleRequire(Long requireId, Integer status, String remark) throws BusinessException;

    /**
     * 药方失效后再次求药
     * IMedicationRequireService.addAgainRequire()
     *
     * @param patientId
     * @param recommendId
     *
     * @return
     *
     * @throws BusinessException
     * @since 1.0.0
     */
    void addAgainRequire(Long patientId, Long recommendId) throws BusinessException;



}
